////////////////////////////////////////////////////////////////////////////////
// Filename: graphicsclass.h
////////////////////////////////////////////////////////////////////////////////
#ifndef _GRAPHICSCLASS_H_
#define _GRAPHICSCLASS_H_


/////////////
// GLOBALS //
/////////////
const bool FULL_SCREEN = false;
const bool VSYNC_ENABLED = true;
const float SCREEN_DEPTH = 1000.0f;
const float SCREEN_NEAR = 0.1f;
const int numSunsystems = 4;

///////////////////////
// MY CLASS INCLUDES //
///////////////////////
#include "d3dclass.h"
#include "cameraclass.h"
#include "modelclass.h"
#include "lightclass.h"
#include "lightshaderclass.h"
#include "sunsystemclass.h"

////////////////////////////////////////////////////////////////////////////////
// Class name: GraphicsClass
////////////////////////////////////////////////////////////////////////////////
class GraphicsClass
{
public:
	GraphicsClass();
	GraphicsClass(const GraphicsClass&);
	~GraphicsClass();

	bool Initialize(int, int, HWND);
	void Shutdown();
	bool Frame(float rotationY, float rotationZ, float forward, float right);
	float calcDistance(float x1,float y1,float z1, D3DXVECTOR3 pos2);
private:
	void Render();
private:
	D3DClass* m_D3D;
	CameraClass* m_Camera;
	//ModelClass* m_Model;
	ModelClass* m_Sun_Model;
	LightShaderClass* m_LightShader;
	//LightClass *m_Light1, *m_Light2, *m_Light3, *m_Light4;
	struct sunsystemstruct {
		Sunsystem system;
		D3DXVECTOR3 pos;
		LightClass *pointlight;
	};
	struct sunsystemstruct *sunsystems;
	
};

#endif
